﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Modelo_ETdA.Dados;

namespace Modelo_ETdA.Negocio.Analista
{
    public class GestorAnalista
    {
        private String nameLogado;
        private Analista analistaLogado;
        private DadosAnalista dados;

        public GestorAnalista()
        {
            nameLogado = "";
            dados = new DadosAnalista();
            analistaLogado = null;
        }

        public Analista getAnalistaLogado()
        {
            return analistaLogado;
        }

        public int efectuarLogin(String username, String password)
        {
            int res;
            nameLogado = username;
            res = dados.efectuarLogin(username, password);
            if (res == 0) analistaLogado = dados.getAnalista(username);
            return res;
        }

        public int efectuarRegisto(String prim_nome, String ult_nome, String bi, String email, String username, String password)
        {
            return dados.efectuarRegisto(prim_nome, ult_nome, bi, email, username, password);
        }

        public int efectuarAltPassword(String bi, String email, String username, String novapass)
        {
            return dados.efectuarAltPassword(bi, email, username, novapass);
        }

        public int efectuarEditAnalista(String primeiro_nome, String ultimo_nome, String email, String bi)
        {
            return dados.efectuarEditAnalista(nameLogado, primeiro_nome, ultimo_nome, email, bi);
        }

        public SortedDictionary<string, int> getMapUsernamesCodAnalista()
        {
            return dados.getMapUsernameAnalista();
        }

        public DataTable getDadosTabela(int codAnalist)
        {
            return dados.getDadosTabelaMenu(codAnalist);
        }

        public String NameLogado
        {
            get { return nameLogado; }
            set { nameLogado = value; }
        }

        public Analista AnalistaLogado
        {
            get { return analistaLogado; }
            set { analistaLogado = value; }
        }


        public DadosAnalista Dados
        {
            get { return dados; }
            set { dados = value; }
        }

    }
}
